#include <QTime>
#include "Networking/session.h"
#include "Networking/chatmanager.h"
#include "MainWindow/mainwindow.h"

void ChatManager::receiveMsg(QByteArray bytes)
{
        ChatMessage interfaced(bytes);
        int userID = interfaced.getUserID();
        User tmp = parent->getUserManager()->getUserFromId(userID);
        QColor colour = tmp.getColour();
        QString rgbcolour = colour.name();

        QString msg = QTime::currentTime().toString("HH:mm:ss");
        msg += " <b><font color=\"";
        msg += rgbcolour;
        msg += "\">";
        msg += tmp.getName();
        msg += ": </font></b>";

        msg += interfaced.getMsg();

        MainWindow::getInstance()->chatReceive(msg);
}

void ChatManager::sendMsg(QString msg)
{
        ChatMessage interfaced(parent->getUserManager()->getLocalUser().getId(), msg);
        QByteArray bytes = interfaced.toBytes();

        parent->sendMessage(bytes);
}

void ChatManager::receiveSys(QByteArray bytes)
{
        ChatMessage interfaced(bytes);
        int userID = interfaced.getUserID();
        User tmp = parent->getUserManager()->getUserFromId(userID);

        QString msg = "<i>";
        msg += QTime::currentTime().toString("HH:mm:ss");
        msg += " ";
        msg += tmp.getName();
        msg += interfaced.getMsg();
        msg += "</i>";

        MainWindow::getInstance()->chatReceive(msg);
}

void ChatManager::sendSys(QString msg)
{
        ChatMessage interfaced(parent->getUserManager()->getLocalUser().getId(), msg);
        QByteArray bytes = interfaced.toBytesSys();

        parent->sendMessage(bytes);
}
